<?php

/**
* 论坛模块
* 一个控制器,实现论坛所有主要页面
* 关于论坛的URI设计说明
* bbs主页，/bbs
* 帖子的正文页 /bbs/t/帖子ID(.html)
* 帖子列表页（板块页） /bbs/f/板块的ID(.html)
* 最新帖子列表 /bbs/t
*/
class bbs  extends base
{
	private static $db;
	
	function __construct()
	{
		parent::__construct();
		self::$db=M('m_bbs');
	}
	/**
	 * 论坛首页，各版块统计,用户信息统计 
	 */
	function index()
	{

		$data['forumPosts']=self::$db->forumPosts();
		$data['forumList']=self::$db->getforumList(); //所有板块列表,以及板块信息
		$data['userInfo']=self::$db->getCurrentUserInfo();//当前用户信息
		$data['statsInfo']=self::$db->statsInfo();
		V('bbs/index',$data);
	}
	/**
	 * topic 即话题
	 * 显示tid的详细信息   /t/51426.html
	 * null显示全局最新的  /t
	 */
	function  t($tid=null)
	{
		$tid=intval($tid);
		if($tid)
		{
			$data['post']=self::$db->getPostContent($tid);
			$data['reply']=self::$db->getTheReplies($tid);
			// var_dump($data);die;
			self::$db->addPostViews($tid);
			V('bbs/topic',$data);

		}
		else
		{

			var_dump(config('about'));
			var_dump(config('about','hello'));
			var_dump(config('about'));
			
		}

	}
	/**
	 * 板块页, 显示此版块的最新帖子
	 * null ,显示所有的板块列表
	 */
	function f($fid=null,$page=1)
	{
		$fid=intval($fid);
		$page=intval($page);

		if($fid)
		{
			$data['fourmInfo']=self::$db->getForumInfo($fid);
			$data['topList']=self::$db->getPostTop($fid); //获取本版置顶和全局置顶帖子
			$data['forumList']=self::$db->getforumList(); //所有板块列表,以及板块信息
			$data['topicList']=self::$db->getTopicList($fid,$page); //获取本版非置顶帖子
			// var_dump($data['topList']);die;
			V('bbs/topicList',$data);
		}
		else
		{
			
			$this->index();
			
		}

	}

	//全局最新帖子列表,取前50个帖子
	function latest($page=1)
	{
		$page=intval($page);
		$data['latestList']=self::$db->getNewPostList(null,$page,3); //全局最新50条
		$data['forumList']=self::$db->getforumList(); //所有板块列表,以及板块信息
		// var_dump($data);die;
		V('bbs/globalNewPostList',$data);
	}
	/**
	 * 发表帖子
	 */
	function create($fid=null)
	{
		if($fid)
		{

		}
		else
		{
			V('bbs/createPost');
		}
	}

	function active($token=null)
	{
		$ip=Request::ip();
		$id=Request::get('id');
		$str=md5($ip.$id.date('Ymd').MIXKEY);
		if($str==$token) //激活成功
		{
			exit('ok');
			self::$db->updateUserInfo($userid,array('state'=>m_bbs::ustateReg));
		}
	}

	/**
	 * ajax请求
	 */
	function imgurl()
	{
		$page=Request::get('page',1);
		$offset=($page-1)*30;
		$sql="SELECT * FROM `bbs_img` limit {$offset},30 ";
		// $sql="show databases";
		$data=db::getData($sql);
		foreach ($data as $key => $value)
		{
			$data[$key]['image']=$value['url'];
			$data[$key]['preview']=$value['url'];
			$data[$key]['title']=$value['id'];
			$data[$key]['height']=3000;

		}
		// var_dump($data);die;
		$success=true;
		$msg='Retrieved pictures';
		$ret=array('data'=>$data,'message'=>$msg,'success'=>$success);
		exit(json_encode($ret));
	}
	function online($type=null)
	{
		if($id=session('USERID')) //已登录用户
		{
			self::$db->updateUserTime($id);
			self::$db->updateOnlineEvent();
		}
		else //未登录用户
		{

		}
	}
	function images()
	{
		V('bbs/images');
	}

	/////////////////////////////////////下面ajax
	function ajax_get_user_info()
	{
		sleep(1);
		$id=intval(Request::get('uid'));
		if(!$id)
		{
			$json['code']=-2;
			$json['msg']='no id input ';
		}
		else
		{
			$data=self::$db->get_user_info($id);
			if($data)
			{
				$json['code']=0;
				$json['data']=$data;
			}
			else
			{
				$json['code']=-1;
				$json['msg']='no this user ';
			}

		}

		echo json_encode($json);
	}

	function tpl($tpl)
	{
		template('bbs/tpl/'.$tpl);
	}

	////////////////////////////////////////////////帖子相关/////////////////////////////////////////////////

	/**
	 * 发表帖子
	 */
	function createPost()
	{
		$post=Request::post();
		
		Validate::addRules(array('forumId','title','content'));
		$ret=Validate::check($post);
		if($ret['code']==0)
		{

		}
		else
		{
			echo json_encode($ret);
		}
	}
	/**
	 * 回复帖子
	 */
	function replyPost()
	{
		$userId=$this->isUserLogin();
		$post=Request::filterPost(array('postId'=>array('require'=>'回复的帖子必须指明'),'content'=>array('require'=>'内容必须填写')),1);
		$data=array(
					'post_id'=>$post['postId'],
					'user_id'=>$userId,
					'text'=>$post['content'],
					'reply_time'=>time()
				);
		if(self::$db->replyPost($data))
		{
			echo json_encode(array('code'=>0));
		}
		else
		{
			echo json_encode(array('code'=>-1,'msg'=>'reply post error'));
		}

	}

	/**
	 * 加载回复的帖子
	 */
	function do_loadreply()
	{
		
	}




}